Removing fill attribute from ScrollTimeline A test has been added to verify that startScrollOffset and endScrollOffset still affect animations as they should. Current implementation returns 0 for when the timeline current time is before startScrollOffset and time_range for when timeline current time is at, or after endScrollOffset. All based on the spec: https://drafts.csswg.org/scroll-animations-1/#current-time-algorithm Removal of CC ScrollTimeline fill is included here because there is conversion from main thread ScrollTimelines to CC ScrollTimelines in scroll_timeline_util.cc and passing in a default fill value seems wrong. CC ScrollTimelines currently do not support phase though, so the case of current_time 0 will be ambiguous until that is implemented. Bug: 1041621 Change-Id: I938679f0c61b42b588933bf9e5a8e7bd2776f529 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2028173 Commit-Queue: Jordan Taylor <jortaylo@microsoft.com> Reviewed-by: Majid Valipour <majidvp@chromium.org> Cr-Commit-Position: refs/heads/master@{#750810} 
diff --git a/scroll-animations/current-time-writing-modes.html b/scroll-animations/current-time-writing-modes.html index b409f09..243f152 100644 --- a/scroll-animations/current-time-writing-modes.html +++ b/scroll-animations/current-time-writing-modes.html 
@@ -196,16 +196,16 @@  startScrollOffset: 'calc(20% - 5px)'  });   - // Unscrolled, all timelines should read a current time of unresolved, since + // Unscrolled, all timelines should read a current time of 0, since  // the current offset (0) will be less than the startScrollOffset.  assert_equals( - lengthScrollTimeline.currentTime, null, + lengthScrollTimeline.currentTime, 0,  'Unscrolled length-based timeline');  assert_equals( - percentageScrollTimeline.currentTime, null, + percentageScrollTimeline.currentTime, 0,  'Unscrolled percentage-based timeline');  assert_equals( - calcScrollTimeline.currentTime, null, 'Unscrolled calc-based timeline'); + calcScrollTimeline.currentTime, 0, 'Unscrolled calc-based timeline');    // With direction rtl offsets are inverted, such that scrollLeft == 0  // is the 'zero' point for currentTime. However the @@ -215,7 +215,7 @@  // Check the length-based ScrollTimeline.  scroller.scrollLeft = 0;  assert_equals( - lengthScrollTimeline.currentTime, null, + lengthScrollTimeline.currentTime, 0,  'Length-based timeline before the startScrollOffset point');  scroller.scrollLeft = -20;  assert_equals( @@ -230,7 +230,7 @@  // Check the percentage-based ScrollTimeline.  scroller.scrollLeft = -(0.19 * scrollerSize);  assert_equals( - percentageScrollTimeline.currentTime, null, + percentageScrollTimeline.currentTime, 0,  'Percentage-based timeline before the startScrollOffset point');  scroller.scrollLeft = -(0.20 * scrollerSize);  assert_equals( @@ -246,7 +246,7 @@  // Check the calc-based ScrollTimeline.  scroller.scrollLeft = -(0.2 * scrollerSize - 10);  assert_equals( - calcScrollTimeline.currentTime, null, + calcScrollTimeline.currentTime, 0,  'Calc-based timeline before the startScrollOffset point');  scroller.scrollLeft = -(0.2 * scrollerSize - 5);  assert_equals( @@ -296,11 +296,11 @@  // Check the length-based ScrollTimeline.  scroller.scrollLeft = -scrollerSize;  assert_equals( - lengthScrollTimeline.currentTime, null, + lengthScrollTimeline.currentTime, lengthScrollTimeline.timeRange,  'Length-based timeline after the endScrollOffset point');  scroller.scrollLeft = 20 - scrollerSize;  assert_equals( - lengthScrollTimeline.currentTime, null, + lengthScrollTimeline.currentTime, lengthScrollTimeline.timeRange,  'Length-based timeline at the endScrollOffset point');  scroller.scrollLeft = 50 - scrollerSize;  assert_times_equal( @@ -312,11 +312,11 @@  // Check the percentage-based ScrollTimeline.  scroller.scrollLeft = 0.19 * scrollerSize - scrollerSize;  assert_equals( - percentageScrollTimeline.currentTime, null, + percentageScrollTimeline.currentTime, percentageScrollTimeline.timeRange,  'Percentage-based timeline after the endScrollOffset point');  scroller.scrollLeft = 0.20 * scrollerSize - scrollerSize;  assert_equals( - percentageScrollTimeline.currentTime, null, + percentageScrollTimeline.currentTime, percentageScrollTimeline.timeRange,  'Percentage-based timeline at the endScrollOffset point');  scroller.scrollLeft = 0.4 * scrollerSize - scrollerSize;  assert_times_equal( @@ -328,11 +328,11 @@  // Check the calc-based ScrollTimeline. 80% + 5px  scroller.scrollLeft = -0.8 * scrollerSize - 10;  assert_equals( - calcScrollTimeline.currentTime, null, + calcScrollTimeline.currentTime, calcScrollTimeline.timeRange,  'Calc-based timeline after the endScrollOffset point');  scroller.scrollLeft = -0.8 * scrollerSize - 5;  assert_equals( - calcScrollTimeline.currentTime, null, + calcScrollTimeline.currentTime, calcScrollTimeline.timeRange,  'Calc-based timeline at the endScrollOffset point');  scroller.scrollLeft = -0.8 * scrollerSize;  assert_times_equal(